代理模式：为一个对象提供一个代用品或占位符，以便控制对它的访问
常见的例子：vue3中的ref，及为dom提供了red的占位符，以便控制对他的访问
<script>
  // 缓存代理,每次访问数据的时候先去缓存里面去查找，如果找到就返回缓存里面的数据，没有的话再从服务器获取
  let cache = {data:''}
  function getData() {
    if(cache.data) {
      return cache.data
    }
    let data // 模拟该数据是服务器返回回来的数据，因为省份等数据都是固定的很少改变，利用缓存代理可以减少服务器压力
    setTimeout(() => {
      data = { city: '成都', provice: '四川' }
      cache.data = data
    }, 2000)
  }
</script>
